X-MimeOLE: Produced By Microsoft Exchange V6.5
Received: by onstor-exch02.onstor.net 
	id <01C93535.97294EFE@onstor-exch02.onstor.net>; Thu, 23 Oct 2008 10:34:24 -0700
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C93535.97294EFE"
Content-class: urn:content-classes:message
Subject: RE: Lun Label type-5 Functional Spec. for Kegg
Date: Thu, 23 Oct 2008 10:34:24 -0700
Message-ID: <BB375AF679D4A34E9CA8DFA650E2B04E038F913E@onstor-exch02.onstor.net>
In-Reply-To: <BB375AF679D4A34E9CA8DFA650E2B04E038F913D@onstor-exch02.onstor.net>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: Lun Label type-5 Functional Spec. for Kegg
Thread-Index: Ack0pDOGwsjJ1gNkTEyXhNf4IHF7KQAiul2wAAEHxdAAAFt/oA==
From: "James Kahn" <james.kahn@onstor.com>
To: "Dave Limato" <dave.limato@onstor.com>,
	"dl-Design Review" <dl-designreview@onstor.com>
Cc: "dl-Kegg" <dl-Kegg@onstor.com>

This is a multi-part message in MIME format.

------_=_NextPart_001_01C93535.97294EFE
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi Jim, Nice work. Here are my comments.

Pg 7 2.3.3	Is the scsi id the only way vendors identify mirrors? Or
will you match the label, and if the id is different, don't use it.

SCSI ID is matched against the label SCSI ID.  If they match, then it's
the source volume LUN.  If not, it would be
Assumed to be the mirror.  That's the easy part.  Then you need some way
to promote the physical mirror, etc.
So, the plan is to do physical mirror functional spec. to define the
requirements.

Pg 7 2.3.4	I understand single lun volumes growing by expansion.
But taking a storage volume that has been expanded, which already
belongs to an ONStor volume, and using extents that are free to serve
other ONStor volumes seems un manageable. and difficult to track for the
storage admin. Unless our volumes only manage and use free extents, how
will this work? How will you manage a volume that becomes comprised of
luns and free extents?=20

For starters, you restrict operations to be on the vsvr.  LUN discovery
would be done in two parts.  First part discovers
The LUN.  Second part binds the LUN extents to the volume.  Volume
create/modify would have to be more complex.
However, that is for a future functional spec.  A LUN just contains 1
extent with at most one volume at this stage.

Pg 12 5.3	Congratulations, you saved memory!

Pg 17 5.4.4	If the LUN was part of a volume before being expanded,
the volume will not have access to the expanded capacity of the LUN.
Doesn't that defeat the purpose of expanding the lun? What will we do
now that the lun has been expanded?=20

Currently, if a LUN is expanded, the volume label is lost with the net
effect the volume is gone.
The intent at this stage is to be unaffected by LUN expansion.  The
legacy and alternate label
are simply moved to the new LUN.  The labels are updated with the new
capacity.

For the next functional spec, the volume would then get the expanded
capacity.  That would require
the volume grow operation to be updated to grow by free extents.  Then
you need knobs to register
HOW a volume should be grown.

For this spec, the requirement was simply not to kill the volume if the
LUN is expanded.

Note, the comment in the road map section that this is the FIRST of a
series.
So, rather than having one GIANT functional spec., I'm going for a
series of smaller
focused functional specs.

Regards,
Jim

_____________________________________________=20
From: 	James Kahn =20
Sent:	Wednesday, October 22, 2008 5:14 PM
To:	dl-Design Review
Cc:	dl-Kegg
Subject:	Lun Label type-5 Functional Spec. for Kegg

Here's lun label functional spec. updated for Kegg for review.
Regards,
Jim


<\\mightydog\software\kegg\functional specs\lunLabel1.doc>



------_=_NextPart_001_01C93535.97294EFE
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
6.5.7653.38">
<TITLE>RE: Lun Label type-5 Functional Spec. for Kegg</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">Hi Jim, Nice work. Here are my =
comments.</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">Pg 7 2.3.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Is the scsi id =
the only way vendors identify mirrors? Or will you match the label, and =
if the id is different, don't use it.</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#3366FF" SIZE=3D2 =
FACE=3D"Arial">SCSI ID is matched against the label SCSI ID.&nbsp; If =
they match, then it&#8217;s the source volume LUN.&nbsp; If not, it =
would be</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#3366FF" SIZE=3D2 =
FACE=3D"Arial">Assumed to be the mirror.&nbsp; That&#8217;s the easy =
part.&nbsp; Then you need some way to promote the physical mirror, =
etc.</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#3366FF" SIZE=3D2 =
FACE=3D"Arial">So, the plan is to do physical mirror functional spec. to =
define the requirements.</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">Pg 7 2.3.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I understand =
single lun volumes growing by expansion. But taking a storage volume =
that has been expanded, which already belongs to an ONStor volume, and =
using extents that are free to serve other ONStor volumes seems un =
manageable. and difficult to track for the storage admin. Unless our =
volumes only manage and use free extents, how will this work? How will =
you manage a volume that becomes comprised of luns and free extents? =
</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000080" SIZE=3D2 =
FACE=3D"Arial">For starters, you restrict operations to be on the =
vsvr.&nbsp; LUN discovery would be done in two parts.&nbsp; First part =
discovers</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000080" SIZE=3D2 =
FACE=3D"Arial">The LUN.&nbsp; Second part binds the LUN extents to the =
volume.&nbsp; Volume create/modify would have to be more =
complex.</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000080" SIZE=3D2 =
FACE=3D"Arial">However, that is for a future functional spec.&nbsp; A =
LUN just contains 1 extent with at most one volume at this =
stage.</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">Pg 12 5.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
Congratulations, you saved memory!</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">Pg 17 5.4.4&nbsp;&nbsp;&nbsp;&nbsp; If the LUN was part =
of a volume before being expanded, the volume will not have access to =
the expanded capacity of the LUN. Doesn't that defeat the purpose of =
expanding the lun? What will we do now that the lun has been expanded? =
</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000080" SIZE=3D2 =
FACE=3D"Arial">Currently, if a LUN is expanded, the volume label is lost =
with the net effect the volume is gone.</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000080" SIZE=3D2 =
FACE=3D"Arial">The intent at this stage is to be unaffected by LUN =
expansion.&nbsp; The legacy and alternate label</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><BR>
<FONT COLOR=3D"#000080" SIZE=3D2 FACE=3D"Arial">are simply moved to the =
new LUN.&nbsp; The labels are updated with the new =
capacity.</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000080" SIZE=3D2 =
FACE=3D"Arial">For the next functional spec, the volume would then get =
the expanded capacity.&nbsp; That would require</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><BR>
<FONT COLOR=3D"#000080" SIZE=3D2 FACE=3D"Arial">the volume grow =
operation to be updated to grow by free extents.</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000080" =
SIZE=3D2 FACE=3D"Arial">&nbsp; Then you need knobs to register<BR>
HOW a volume should be grown.</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000080" SIZE=3D2 =
FACE=3D"Arial">For this spec, the requirement was simply not to kill the =
volume if the LUN is expanded.</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000080" SIZE=3D2 =
FACE=3D"Arial">Note, the comment in the road map section that this is =
the</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> <FONT =
COLOR=3D"#000080" SIZE=3D2 FACE=3D"Arial">FIRST of a =
series.</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000080" SIZE=3D2 =
FACE=3D"Arial">So, rather than having one GIANT functional spec., =
I</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT =
COLOR=3D"#000080" SIZE=3D2 FACE=3D"Arial">&#8217;</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000080" =
SIZE=3D2 FACE=3D"Arial">m going for a series of smaller<BR>
focused functional specs.</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000080" SIZE=3D2 =
FACE=3D"Arial">Regards,</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000080" SIZE=3D2 =
FACE=3D"Arial">Jim</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"Tahoma">_____________________________________________ =
</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><B><FONT SIZE=3D1 =
FACE=3D"Tahoma">From: &nbsp;</FONT></B></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> <FONT SIZE=3D1 =
FACE=3D"Tahoma">James Kahn&nbsp; </FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><B><FONT SIZE=3D1 =
FACE=3D"Tahoma">Sent:&nbsp;&nbsp;</FONT></B></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> <FONT SIZE=3D1 =
FACE=3D"Tahoma">Wednesday, October 22, 2008 5:14 PM</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><B><FONT SIZE=3D1 =
FACE=3D"Tahoma">To:&nbsp;&nbsp;&nbsp;&nbsp;</FONT></B></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> <FONT SIZE=3D1 =
FACE=3D"Tahoma">dl-Design Review</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><B><FONT SIZE=3D1 =
FACE=3D"Tahoma">Cc:&nbsp;&nbsp;&nbsp;&nbsp;</FONT></B></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> <FONT SIZE=3D1 =
FACE=3D"Tahoma">dl-Kegg</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><B><FONT SIZE=3D1 =
FACE=3D"Tahoma">Subject:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT>=
</B></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> <FONT =
SIZE=3D1 FACE=3D"Tahoma">Lun Label type-5 Functional Spec. for =
Kegg</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">Here&#8217;s lun label functional spec. updated for Kegg =
for review.</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">Regards,</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">Jim</FONT></SPAN></P>
<BR>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">&lt;</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><A =
HREF=3D"file://\\mightydog\software\kegg\functional =
specs\lunLabel1.doc"><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><U><FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Arial">\\mightydog\software\kegg\functional =
specs\lunLabel1.doc</FONT></U></SPAN><SPAN =
LANG=3D"en-us"></SPAN></A><SPAN LANG=3D"en-us">&gt;</SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>
<BR>

</BODY>
</HTML>
------_=_NextPart_001_01C93535.97294EFE--
